package com.cskaoyan.javase.oop2._1extends._10final._3variable._3static;

/**
 * 如果使用静态代码块测试类加载
 * 那么访问类的全局常量，有些场景是不会触发类加载的。
 * （感兴趣自己测试一下，作为锻炼动手能力的小demo）
 *
 * 什么场景不触发类加载?
 * 使用字面值常量赋值的全局常量的访问,是不会触发类加载的
 * 而一旦全局常量创建对象,就仍然会进行类加载
 *
 * @since 14:38
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        // System.out.println(Test.a);
        System.out.println(Test.NUM);
        System.out.println(Test.NUM2);
        // System.out.println(Test.STR);
        // System.out.println(Test.STR2);
    }
}

class Test {
    static {
        System.out.println("类加载!");
    }
    // 以下三个全局常量就是给字面值常量起名字
    public static final int NUM = 100;
    public static final double NUM2 = 0.1;
    public static final String STR = "hello";
    public static final String STR2 = new String("hello");
    // static int a = 10;


}